<?php

include('./sql/conf.php');

$polaczenie = new mysqli($serwerMySQL, $uzytkownikMySQL, $hasloMySQL, $bazaMySQL);

if($polaczenie) {

	echo '<nav>';
	echo '<a href="?akcja=dane">Dane osobowe</a>';
	echo '<a href="?akcja=terminy">Terminy przyszłych wizyt</a>';
	echo '<a href="?akcja=wizyty">Odbyte wizyty</a>';
	echo '<a href="?akcja=nowa">Umów się na wizytę</a>';
	echo '</nav>';

	$stmt = $polaczenie->stmt_init();

	$stmt->prepare("SELECT id_pacjenta, imie, nazwisko, pesel FROM dane_osobowe WHERE id_pacjenta=?");

	$stmt->bind_param("s", $_SESSION['uid']);

	$stmt->execute();

	$stmt->bind_result($id, $imie, $nazwisko, $pesel);

	$stmt->fetch();

	echo '<h2>'.$imie.' '.$nazwisko.'</h2>';

	if(!isset($_GET['akcja']) || $_GET['akcja'] == 'dane') {

		if($pesel[8]+$pesel[9] > 0) {

			echo 'PESEL: '.$pesel.'<br>';

		}

		if($nip != NULL) echo 'NIP: '.$nip;

		$rok = 1900 + substr($pesel, 0, 2);
		$miesiac = substr($pesel, 2, 2);
		$dzien = substr($pesel, 4, 2);

		$rok = $rok + 100*(floor(($miesiac-1) / 12));

		echo 'Data urodzenia: '.$dzien.'.'.($miesiac%13).'.'.$rok;

		if(isset($_POST['adres'])) {

			$stmt->prepare("UPDATE dane_kontaktowe SET adres=?, kod_pocztowy=?, miejscowosc=?, telefon=?, osoba_kontaktowa=?, telefon_osoby_k=? WHERE id_pacjenta=?");

			$stmt->bind_param('sssssss', $_POST['adres'], $_POST['kod_pocztowy'], $_POST['miejscowosc'], $_POST['telefon'], $_POST['osoba_kontaktowa'], $_POST['telefon_osoby_k'], $_SESSION['uid']);

			$stmt->execute();

		}

		$stmt->prepare("SELECT adres, kod_pocztowy, miejscowosc, telefon, osoba_kontaktowa, telefon_osoby_k FROM dane_kontaktowe WHERE id_pacjenta=?");

		$stmt->bind_param('s', $_SESSION['uid']);

		$stmt->execute();

		$stmt->bind_result($adres, $kod_pocztowy, $miejscowosc, $telefon, $osoba_kontaktowa, $telefon_osoby_k);

		$stmt->fetch();

		echo '<form method="post" action="">';

		echo '<h3>Adres</h3>';
		echo '<input type="text" name="adres" value="'.$adres.'" required><br>';
		echo '<input type="text" name="kod_pocztowy" value="'.$kod_pocztowy.'" pattern="[0-9]{2}\-[0-9]{3}" required><br>';
		echo '<input type="text" name="miejscowosc" value="'.$miejscowosc.'" required><br>';

		echo '<h3>Telefon</h3>';
		echo '<input type="text" name="telefon" value="'.$telefon.'" pattern="[0-9]{11}" required><br>';

		echo '<h3>Osoba kontaktowa</h3>';

		echo '<input type="text" name="osoba_kontaktowa" value="'.$osoba_kontaktowa.'" required><br>';
		echo '<input type="text" name="telefon_osoby_k" value="'.$telefon_osoby_k.'" pattern="[0-9]{11}" required><br>';

		echo '<br><br><input type="submit" value="Zmień dane" style="width: 30%;">';

		echo '</form>';

	} else if($_GET['akcja'] == 'terminy') {

		$stmt->prepare("SELECT t.id_terminu, t.data, t.godzina, l.imie, l.nazwisko, s.nazwa FROM terminy t, lekarze l, specjalnosci s WHERE t.id_lekarza=l.id_lekarza AND l.specjalnosc=s.id_specjalnosci AND t.id_pacjenta=? AND t.id_terminu NOT IN (SELECT id_terminu FROM wizyty) ORDER BY data ASC, godzina ASC");

		$stmt->bind_param('s', $_SESSION['uid']);

		$stmt->execute();

		$stmt->bind_result($idTerminu, $data, $godzina, $imieLekarza, $nazwiskoLekarza, $specjalnosc);

		while($stmt->fetch()) {

			if(strlen($godzina) == 3) $godzina = '0'.$godzina;

			$godzina = substr($godzina, 0, 2).':'.substr($godzina, 2, 2);

			echo '<div class="wizyta">';
			echo '<h3>'.$imieLekarza.' '.$nazwiskoLekarza.' ('.$specjalnosc.')</h3>';
			echo 'Wizytya dnia: '.$data.', o godz.: '.$godzina.'<br>';
			echo '<a href="php/cancelVisit.php?idTerminu='.$idTerminu.'">Odwołaj wizytę</a>';
			echo '</div>';

		}

	} else if($_GET['akcja'] == 'nowa') {

		if(isset($_POST['lekarz'])) {

			$data = date('Y-m-d', strtotime($_POST['data']));

			$stmt->prepare("SELECT godzina FROM grafik WHERE godzina NOT IN (SELECT godzina FROM terminy WHERE data=? AND id_lekarza=?) LIMIT 0, 1");
			$stmt->bind_param('ss', $data, $_POST['lekarz']);
			$stmt->execute();
			$stmt->bind_result($godzina);
			$stmt->fetch();

			if($godzina != NULL) {
					
				$stmt->prepare("INSERT INTO terminy (id_terminu, id_pacjenta, id_lekarza, data, godzina) VALUES (NULL, ?, ?, ?, ?)");
				$stmt->bind_param('ssss', $_SESSION['uid'], $_POST['lekarz'], $data, $godzina);
				$stmt->execute();
				$stmt->free_result();

				if($godzina < 1000) $godzina = '0'.$godzina;

				$godzina = substr($godzina, 0, 2).':'.substr($godzina, 2, 2);

				echo '<p style="text-align: center;">Zaplanowano nową wizytę ('.$data.', '.$godzina.').</p>';

				include('./php/sms.php');
				sendSMS($_SESSION['uid'], 'Umowiono nowa wizyte u specjalisty. Zapraszamy '.$data.', na godzine '.$godzina.'.');


			} else {

				echo '<p style="text-align: center;">Lekarz nie ma wolnych terminów tego dnia. Spróbuj wybrać inny dzień.</p>';

			}

		}

		echo '<form action="" method="post">';

		echo '<h3>Lekarz</h3>';

		echo '<select name="lekarz">';

		$stmt->prepare("SELECT l.id_lekarza, l.nazwisko, l.imie, s.nazwa FROM lekarze l, specjalnosci s WHERE l.specjalnosc=s.id_specjalnosci");

		$stmt->execute();

		$stmt->bind_result($id, $nazwisko, $imie, $specjalnosc);

		while($stmt->fetch()) {

			echo '<option value="'.$id.'">'.$nazwisko.' '.$imie.' ('.$specjalnosc.')</option>';

		}

		echo '</select>';

		echo '<h3>Termin</h3>';

		echo '<select name="data">';

		$dataPoczatek = strtotime(date('d-m-Y'));
		for($i=0; $i < 180; $i++) {

			$data = date('d-m-Y', $dataPoczatek + (60*60*24*$i));

			if(date('N', strtotime($data)) != 6 && date('N', strtotime($data)) != 7)
			echo '<option value="'.$data.'">'.$data.'</option>';

		}

		echo '</select>';

		echo '<br><input type="submit" value="Umów wizytę" style="width: 30%; margin-left: 50%">';

		echo '</form>';

	} else {

		$stmt->prepare("SELECT w.procedury, w.rozpoznanie, w.uwagi, w.zapisane_leki, t.id_terminu, t.data, t.godzina, l.imie, l.nazwisko, s.nazwa FROM terminy t, lekarze l, specjalnosci s, wizyty w WHERE t.id_lekarza=l.id_lekarza AND l.specjalnosc=s.id_specjalnosci AND t.id_pacjenta=? AND t.id_terminu IN (SELECT id_terminu FROM wizyty) AND w.id_terminu = t.id_terminu ORDER BY data ASC, godzina ASC");

		$stmt->bind_param('s', $_SESSION['uid']);

		$stmt->execute();

		$stmt->bind_result($procedury, $rozpoznanie, $uwagi, $leki, $idTerminu, $data, $godzina, $imieLekarza, $nazwiskoLekarza, $specjalnosc);

		while($stmt->fetch()) {

			if(strlen($godzina) == 3) $godzina = '0'.$godzina;

			$godzina = substr($godzina, 0, 2).':'.substr($godzina, 2, 2);

			echo '<div class="wizyta">';
			echo '<h3>'.$imieLekarza.' '.$nazwiskoLekarza.' ('.$specjalnosc.')</h3>';
			echo 'Wizytya dnia: '.$data.', o godz.: '.$godzina.'<br>';
			echo 'Rozpoznanie: ';
				
			$choroby = explode(' ', $rozpoznanie);
				
			foreach($choroby as $choroba) {

				$choroba = str_replace(',', '', $choroba);

				if(preg_match('/^[A-Z][0-9]+\.?[0-9]*/', $choroba)) {

					echo '<button onclick="icd10(\''.$choroba.'\')">'.$choroba.'</button> ';

				} else {

					echo $choroba.' ';

				}

			}
				
			echo '<br>';
			echo 'Zapisane leki: '.$leki.'<br>';
			echo 'Procedury: ';
				
			$procedury = explode(' ', $procedury);
				
			foreach($procedury as $procedura) {

				$procedura = str_replace(',', '', $procedura);

				if(preg_match('/^[A-Z]*[0-9]+\.?[0-9]*/', $procedura)) {

					echo '<button onclick="icd9(\''.$procedura.'\')">'.$procedura.'</button> ';

				} else {

					echo $procedura.' ';

				}

			}
			
			echo '<br>';
			echo 'Uwagi: '.$uwagi.'<br>';
			echo '</div>';

		}

	}


	$stmt->free_result();
	$stmt->close();
	$polaczenie->close();

} else {

	echo 'Błąd połączenia z bazą danych';

}





?>